1. Technical Field
The present invention relates to the area of workload management/performance management. More particularly, the invention relates to a method of providing workload-management in a Workflow-Management-System (WFMS).
2. Prior Art
A new area of technology with increasing importance is the domain of Workflow-Management-Systems (WFMS). WFMS support the modeling and execution of business processes. Business processes control which piece of work of a network of pieces of work will be performed by whom and which resources are to be exploited for this work, i.e. a business process describes how an enterprise will achieve its business goals. The individual pieces of work might be distributed across a multitude of different computer systems connected by some type of network.
The process of designing, developing and manufacturing a new product and the process of changing or adapting an existing product presents many challenges to product managers and engineers to bring the product to market for the least cost and within schedule while maintaining or even increasing product quality. Many companies are realizing that the conventional product design process is not satisfactory to meet these needs. They require early involvement of manufacturing engineering, cost engineering, logistic planning, procurement, manufacturing, service and support with the design effort. Furthermore, they require planning and control of product data through design, release, and manufacturing.
The correct and efficient execution of business processes within a company, e.g. development or production precesses, is of enormous importance for a company and has significant influence on a company""s overall success in the market place. Therefore, those processes have to be regarded as similar to technology processes and have to be tested, optimized and monitored. The management of such processes is usually performed and supported by a computer based process or workflow management system.
In D. J. Spoon: xe2x80x9cProject Management Environmentxe2x80x9d, IBM Technical Disclosure Bulletin, Vol. 32, No. 9A, February 1990, pages 250 to 254, a process management environment is described including an operating environment, data elements, and application functions and processes.
In R. T. Marshak: xe2x80x9cIBM""s FlowMark, Object-Oriented Workflow for Mission-Critical Applicationxe2x80x9d, Workgroup Computing Report (USA), Vol. 17 No. 5, 1994, page 3 to 13, the object character of IBM FlowMark as a client/server product built on a true object model that is targeted for mission-critical production process application development and deployment is described.
In H. A. Inniss and J. H. Sheridan: xe2x80x9cWorkflow Management Based on an Object-Oriented Paradigmxe2x80x9d, IBM Technical Disclosure Bulletin, Vol. 37, No. 3, March 1994, page 185, other aspects of object-oriented modeling on customization and changes are described.
In F. Leymann and D. Roller: xe2x80x9cBusiness Process Management with FlowMarkxe2x80x9d, Digest of papers, Cat. No. 94CH3414-0, Spring COMPCON 94, 1994, pages 230 to 234, the state-of-the-art computer process management tool IBM FlowMark is described. The meta model of IBM FlowMark is presented as well as the implementation of IBM FlowMark. The possibilities of IBM FlowMark for modeling of a business process as well as their execution are discussed. The product IBM FlowMark is available for different computer platforms and documentation for IBM FlowMark is available in every IBM branch.
In F. Leymann: xe2x80x9cA meta model to support the modeling and execution of processesxe2x80x9d, Proceedings of the 11th European Meeting on Cybernetics and System Research EMCR92, Vienna, Austria, Apr. 21 to 24, 1992, World Scientific 1992, pages 287 to 294, a meta model for controlling business processes is presented and discussed in detail.
The xe2x80x9cIBM FlowMark for OS/2xe2x80x9d, document number GH 19-8215-01, IBM Corporation, 1994, available in every IBM sales office, represents a typical modern, sophisticated, and powerful workflow management system. It supports the modeling of business processes as a network of activities; refer for instance to xe2x80x9cModeling Workflowxe2x80x9d, document number SH 19-8241, IBM Corporation, 1996. As further information on Workflow Management Systems available in IBM sales offices one could mention: IBM MQSeries Concepts and Architecture, document number GH 12-6285; IBM MQSeries Getting Started with Buildtime, document number SH 12-6286; IBM MQSeries Getting Started with Runtime, document number SH 12-6287. This network of activities, the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities or work items which are performed. The edges of the graph, the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via the IBM FlowMark Definition Language (FDL) or the built-in graphical editor. The runtime component of the workflow manager interprets the process graph and distributes the execution of activities to the right person at the right place, e.g. by assigning tasks to a work list according to the respective person, wherein said work list is stored as digital data within said workflow or process management computer system.
In F. Leymann and W. Altenhuber: xe2x80x9cManaging business processes as an information resourcesxe2x80x9d, IBM Systems Journal, Vol. 32(2), 1994, the mathematical theory underlying the IBM FlowMark product is described.
In D. Roller: xe2x80x9cVerification von Workflows in IBM FlowMarkxe2x80x9d, in J. Becker und G. Vossen (Hrsg.): xe2x80x9cGeschaeftsprozessmodellierung und Workflowsxe2x80x9d, International Thompson Publishing, 1995, the requirement and possibility of the verification of workflows is described. Furthermore the feature of graphical animation for verification of the process logic is presented as it is implemented within the IBM FlowMark product.
For implementing a computer based process management system, firstly the business processes have to be analyzed and, as the result of this analysis, a process model has to be constructed as a network of activities corresponding to the business process. In the IBM FlowMark product, the process models are not transformed into an executable form. At run time, an instance of the process is created from the process model, called a process instance. This process instance is then interpreted dynamically by the IBM FlowMark product.
A user typically interacts with the workflow management system via a graphical end user that represents the tasks to be performed by the user as icons. Work for a particular task is started by the user by double-clicking on the appropriate icon which in turn starts the program implementing the activity.
Another area of technology is the technology of performance or workload management. Workload management tries to optimize the usage of processor resources from a global point of view: Many different services (i.e. instances of programs) on a given system (either uni-processor, multi-processor systems such as a sysplex) compete for processor resources. Workload management allows performance goals to be specified for each service class (i.e. an abstraction of services of the same kind) and for collections of service classes (called an enclave). Priorities of service classes and enclaves can be specified, defining their relative importance from an enterprises business point of view. The workload manager will make processing resources available to enable services and enclaves to meet their goals. Moreover the workload manager will withdraw or reduce processing resources from services and enclaves in case it becomes clear that a service or enclave will not meet its goal but another will be able to achieve it when more resources will be at its liberty or in case a higher priority service or enclave is in jeopardy for not meeting its goal because of lacking resources. Thus for each system, workload management handles the system resources. Workload management coordinates and shares performance information across the system. How well it manages one system is based on how well the other systems are also doing in meeting the goals. If there is contention for resources, workload management make the appropriate trade-offs based on the importance of the work and how well the goals are being met.
An enclave can be perceived as a set of service that are related from a business point of view, i.e. it is a unit of work that must jointly fulfill a performance goal. For example, a collection of application steps to be performed by a clerk while a customer is waiting for a response.
In the state of the art mission critical environment provide Workload Managers (WLM). For example, MVS delivers a built-in workload manager called WLM/MVS. For information on this prominent representative of a workload manager refer for instance to xe2x80x9cOS/390 MVS Planning: Workload Management, Document Number GC28-1761-02xe2x80x9d available through the IBM branch offices.
Currently the process to allow a program to participate in a workload management environment is cumbersome. With respect to a WLM, administrative personnel have to specify both enclaves as well as performance goals for service and enclaves. Application programmers have to use WLM APIs to provide at run time of their applications all necessary information to WLM enabling appropriate management of processor resources.
The derivation of enclaves is difficult and cumbersome in non-trivial cases because of the lack of information about the relation of application functions: This information is mostly hidden in special application programs, or the relation changes because of new requirements, because applications are integrated in new ways for interoperability etc. The situation is even worse in the case of integration of different applications, especially if the applications originally have not been designed to work together. Each individual application has to be instrumented with additional instructions interacting with the WLM; otherwise an application would not participate in the workload management process. For instance, application programmers have to instrument their code to create, join, and terminate enclaves via the API. This requires each of the different application functions to figure out whether it has to join an existing enclave and which one, etc.
The present invention is based on the objective to improve enablement for applications to participate in workload management.
The present invention relates to a method of providing workload-management in a Workflow-Management-System (WFMS) by a Workload-Management-System (WLM), the method being executed by at least one computer system. The WFMS comprises a process-model which comprises one or more activities which are the nodes of an arbitrary enclave-graph, and directed edges of the enclave-graph define a potential control-flow within the process-model. Within the method, the activities of the enclave-graph are executed as a workload-management-enclave. The method comprises an enclave-creation-step, wherein, if the control-flow enters the enclave-graph the first time, the WFMS creates a workload-management-enclave in the WLM on behalf of the activities.
This invention makes the specification and derivation of enclaves much easier than it is today. The complexity of writing application functions which are managed by WLM and that are included in higher level workload managed unities (i.e. enclaves) is drastically reduced. Moreover, workload management functionality is added to the WFMS.
According to the state-of-the-art, WLM assumes that the managed application is a self-instrumented component. Normally this would mean that the application itself has to use the WLM API to exchange information with the WLM environment. Thus this would require invasive changes to existing applications or to explicitly add code to newly written applications. Due to this additional effort, this would restrict the area of applicability of the WLM. Even worse, the instrumentation is not always possible; the source code is owned by another organization or is no longer available etc. The current invention allows applications to participate in WLM environments without special instrumentation of the corresponding applications. The current invention enables the participation of an application in workload management environments without special instrumentation of the corresponding applications.
The basic idea of the current invention is not to instrument the application components represented by the activities of the process model. The current invention creates the workload management enclave in the WLM by the WFMS on behalf of the activities. This solution provides workload management without any modification of the managed activity/application. As a consequence, no special code has to be added to newly or existing applications to enable them for workload management. It is the WFMS that determines the appropriate WLM to furnish the workload management on behalf of the application.
There are different and incompatible WLM products in the marketplace. Without the current invention, the application provider has to decide which of the systems management environments to use, which in the worst case means that he has to furnish all of them. The current invention allows this decision to be made on the application integration level, i.e. on the level of the process model. Moreover, as the WFMS has the information on which application it has to start, the current invention is flexible enough to allow it to make the decision on which WLM product to involve, on the basis of each individual application. Therefore according to the invention, an application is (to a certain extent) decoupled from the specific WLM product.
But not only applications within a process model will benefit from the current invention. As it becomes much easier to enable activities for workload management, the throughput through a computer system in general can be increased, giving advantages to all programs being executed on that computer system.
The proper management of processing resources reduces the total cost of ownership of computing environments. Application systems being enabled for workload management might become preferable in environments providing workload management.
According to a further embodiment of the invention, the method comprises an enclave-join-step, wherein, if the control-flow enters an activity which is a node within the enclave-graph and if a workload-management-enclave has already been created for the enclave-graph, the WFM joins the activity to the workload-management-enclave in the WLM on behalf of the activity.
The advantages mentioned above apply to this further embodiment as well. Moreover the invention unburdens the activities/applications not only from creating workload management enclaves but also from joining existing enclaves. According to a further embodiment of the invention, the method comprises an enclave-deletion-step, wherein, if the control-flow leaves the enclave-graph, the WLM deletes the workload-management-enclave on behalf of the activities.
The advantages mentioned above apply to this further embodiment as well. Moreover the invention unburdens the activities/applications not only from creating workload management enclaves but also from deleting existing enclaves. Thus all interactions of an application with the WLM required according to the state-of-the-art are no longer necessary and are taken over by the WFMS.
According to a further embodiment of the invention, an enclave-identifier of the workload-management-enclave is provided to the activities. Independently thereof, if any activity is to be executed within an execution-environment, an enclave-identifier of the workload-management-enclave is provided to the execution-environment.
Due to that feature, it is up to the activity/application, if workload management is provided xe2x80x9ctransparentlyxe2x80x9d for it, or if it might influence it using the provided enclave identifier. Providing the enclave-identifier of the workload-management-enclave to the execution-environment is of special advantage as certain execution environments are implemented as subsystems comprising separate workload managers. These separate workload managers are able to cooperate with the global WLM but require for this cooperation the enclave identifiers of an enclave within the global WLM.
According to a further embodiment of the invention, the enclave-identifier of the workload-management-enclave is provided to the activities as an element in an input-container. This is the most elegant and economic approach for providing the enclave identifier to the activities. Neither within the WFMS nor within the application implementing the activity are further changes required as this established way of providing information from the WFMS to the activity.
According to a further embodiment of the invention, the method is executed by a WFMS-engine, navigating through the process-model, or the method is executed by a WFMS-agent, responsible to start an activity.
Executing the method by the WFMS-engine is advantageous as all information regarding the process model (including all run time parameters for a current instantiation of the process model)xe2x80x94comprising the enclave graph structurexe2x80x94is available to the WFMS-engine. On the other hand, executing the method by a WFMS-agent allows the off-load of certain work from the WFMS-engine, increasing parallelism within the WFMS environment.
The present invention is further directed to a method of automatically determining at least one enclave-graph within a process-model of a Workflow-Management-System (WFMS). The process-model of a Workflow-Management-System (WFMS) comprises one or more activities which are the nodes of an arbitrary graph, and directed edges of the graph define a potential control-flow within the process-model. The enclave-graph is a sub-graph of the graph comprising activities to be treated as a workload-management-enclave by a Workload-Management-System (WLM). The method determines the enclave-graph by including an activity into the enclave-graph if the process-model specifies the activity as being executable without user interaction.
The advantages mentioned above apply to this further embodiment as well. Additional benefits arise as application programmers or administrators now have an automatic procedure at hand for determining and defining enclave structures. Even more important, while in the current state of the art the enclave structure is not explicitxe2x80x94one would have to analyze each and every application to determine the enclaves xe2x80x9ccreated byxe2x80x9d, xe2x80x9cdeleted byxe2x80x9d or xe2x80x9cjoined to xe2x80x9d by the applicationsxe2x80x94the current invention makes the enclave structure explicit on the global level of the process models. Thus the enclave structures are no longer xe2x80x9cburiedxe2x80x9d within the individual applications. Due to the current invention, enclave structures now can be quickly created or modified.
According to a further embodiment of the invention, the proposed method determines the enclave-graph by including an activity into the enclave-graph, if the activity and all other activities of the enclave-graph are members of the same atomic-sphere, the atomic-sphere comprising activities to be executed as a transaction.
As global transactions are activities belonging to an atomic sphere, they are subject to the ACIDicity (atomicity, consistency, isolation, durability) requirement. By using the information within the process model with respect to atomic spheres to define enclaves, the WLM is enabled at execution time to process the atomic sphere efficiently in terms of ACIDicity.